<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>01.递归.html</title>
</head>
<body>
    <script>
        /*
          递归： 方法自己调用自己
          注意事项:  函数中一定有终止操作 否则会出现无限循环
          使用场景:  对有一定规律性的数据进行操作
        */
    //    function fun() {
    //     fun()
    //    }
    //    fun();
    /*
         类加 1+ 2+ 3    n + fn(n-1)
         累乘            n * fn(n-1)
         兔子数列【斐波那契数列】
         1 1 2  3  5 8 13  21 32....
    
    */
    /**
     * 假定这个函数获取的就是 返回之前所有的和  当前的值  + 之前所有的和
     */
    function sum(n) {
        if(n == 1) {
            return n;
        }
        return n + sum(n-1)
    }

    console.log(sum(100));

    function feibo(n) {
        // 出口
        if(n == 1 || n == 2) {
            return 1;
        }
        return feibo(n-1) + feibo(n-2)
    }
    console.log(feibo(8));
    </script>
    
</body>
</html>